使用CMakeLists.txt导入dcmtk库(不使用vs的工程) 您所在的位置:网站首页 Win11下DCMTK的Visual Studio 2022配置教程 使用CMakeLists.txt导入dcmtk库(不使用vs的工程)

使用CMakeLists.txt导入dcmtk库(不使用vs的工程)

2024-07-18 04:27| 来源: 网络整理| 查看: 265

开发环境:

ubuntu vue-router vuex

文章目录 0 前言1 构建CMake工程步骤文件树CMakeLists.txtmain.cpp使用 2 资料使用其他基于dcmtk的库论坛 互相交流论坛 互相交流 文章目录 0 前言1 构建CMake工程步骤文件树CMakeLists.txtmain.cpp使用 2 资料使用其他基于dcmtk的库论坛 互相交流论坛 互相交流

0 前言

前面记录了编译好VS库之后,利用Visual Studio来构建工程,也就是说有一个很大的.vs文件夹以及.sln文件来储存工程的配置。

但是,CMake更为轻量,笔者不否认VS的强大,VS本身就可以打开CMake的工程。因此,本文,笔者使用CMake构建工程。可以利用CLIon或者还是VS来打开CMake的工程。

1 构建CMake工程步骤

一个很有用的英文参考资料

事实上,网络关于利用CMake导入dcmtk库的代码相当少,基本没有。也找到一些资料,但是过于复杂。

文件树 -CMakeLists.txt -main.cpp -README.md ─out └─build └─x64-Debug │ dcmdata.dll │ oflog.dll │ ofstd.dll │ testapp.exe

其实只需要CMakeLists.txt和main.cpp就可以,Readme.md就是你看到的这篇文章,而out是我用VS生成的,最终的testapp.exe就是可执行文件,然后我们要把 dcmdata.dll和 oflog.dll和 ofstd.dll放到和可执行文件同一个目录。

CMakeLists.txt cmake_minimum_required(VERSION 2.8) PROJECT(testapp) SET(DCMTK_INCLUDE_DIRS "D:\\Programs\\dcmtkdll\\include") SET(DCMTK_LIBRARIES "D:\\Programs\\dcmtkdll\\lib") SET(DCMTK_DIR "D:\\Programs\\dcmtkdll") #an example: SET(DCMTK_DIR "C:\\Users\\test\\test_dcmtk\\DCMTK") #set(CMAKE_CXX_FLAGS -std=c++11) # settings for Microsoft Visual C++ 6 SET(CMAKE_C_FLAGS "/nologo /W3 /GX /Gy /YX") SET(CMAKE_C_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/MT /O2") SET(CMAKE_CXX_FLAGS "/nologo /W3 /GX /Gy /YX") SET(CMAKE_CXX_FLAGS_DEBUG "/MTd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/MT /O2") ADD_DEFINITIONS(-D_REENTRANT) INCLUDE_DIRECTORIES(${DCMTK_DIR}/include) LINK_DIRECTORIES(${DCMTK_DIR}/lib) ADD_EXECUTABLE(testapp main.cpp) TARGET_LINK_LIBRARIES(testapp netapi32 wsock32 ofstd dcmdata) message("-------------\n") message("${DCMTK_INCLUDE_DIRS}") message("${DCMTK_LIBRARIES}") message(STATUS "${DCMTK_FOUND}") #message("${DCMTK_INCLUDE_DIRS}") message("${DCMTK_DIR}") message(STATUS "-------------\n") main.cpp // C++_Dicom_Sample.cpp : Defines the entry point for the console application. // //#include "stdafx.h" //C++中stdafx.h的英文全称为:standard application fram extend,中文名为:头文件预编译。 // //stdafx.h在c++中起到的作用是:把C++工程中使用的MFC头文件预先编译,以后该工程编译时,直接使用预编译的结果,这样可以加快编译速度。 //#include "dcmtk/config/osconfig.h" #include "dcmtk/dcmdata/dctk.h" #include bool ReadPatientName(DcmFileFormat& fileformat, std::string& filePath) { OFCondition status = fileformat.loadFile(filePath.c_str()); if (!status.good()) { std::cout


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有